/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Model;

import java.util.ArrayList;

/**
 *
 * @author aj48640
 */
public class Restaurant
{
    //le nom du restaurant
    private String nom;
    
    //les plats associés à ce restaurant
    private ArrayList<Plat> plats;
    
    //L'adresse du restaurant
    private String adresse;
    
    
    public Restaurant (String nom, String adresse)
    {
        this.nom = nom;
        this.plats = new ArrayList<Plat>();
        this.adresse = adresse;
    }
    
    /**
     * retourne le nom du restaurant
     * @return 
     */
    public String GetNom()
    {
        return this.nom;
    }
    
    //retourne l'adresse du restaurant
    public String GetAdresse () 
    {
        return this.adresse;
    }
    
    /**
     * ajoute un plat au menu du restaurant
     * @param plat 
     */
    public void AjouterPlat (String plat)
    {
        this.plats.add(new Plat(plat));
    }
    
    /**
     * Permet d'obtenir la liste des plats d'un restaurant.
     * Nous retournons seulement qu'une string pour éviter le couplage
     * @return 
     */
    public ArrayList<String> ObtenirPlats()
    {
        ArrayList<String> tmp = new ArrayList<String>();
        
        for(int i = 0 ; i < plats.size(); i++)
        {
            tmp.add(plats.get(i).GetNom());
        }
        
        return tmp;
    }
    
    /**
     * Permet d'obtenir un plat à partir de son nom
     * @param plat
     * @return 
     */
    public Plat ObtenirPlat ( String plat )
    {
        return Plat.TrouverPlat(this.plats,plat);
    }
    
    public static Restaurant FindRestaurant (ArrayList<Restaurant> restaurants,String restaurant)
    {
        for (Restaurant r : restaurants)
            if (r.nom.equals(restaurant))
                return r;
        
        return null;
    }

}
